# 1. 读取数据（指定正确编码）
# 人口数据（包含Year和总人口列Total.Population）
population_df <- read.table(
  file = "第一次作业/江西省人口分析/population.csv",
  header = TRUE,
  sep = "\t",
  encoding = "GBK",  # 若数据是中文Windows保存，优先用GBK编码
  stringsAsFactors = FALSE
)

# GDP数据（包含Year和GDP列PerCapitaGDP）
gdp_df <- read.table(
  file = "第一次作业/江西省GDP分析/gdp.csv",
  header = TRUE,
  sep = "\t",
  encoding = "GBK",  # 统一编码，避免中文乱码
  stringsAsFactors = FALSE
)

# 2. 合并数据（按年份匹配）
combined_df <- merge(
  population_df[, c("Year", "Total.Population")],
  gdp_df[, c("Year", "PerCapitaGDP")],
  by = "Year"
)

# 3. 计算相关系数（修正打印方式）
correlation <- cor(
  x = combined_df$Total.Population,
  y = combined_df$PerCapitaGDP
)


# 4. 线性回归分析（检验线性关系显著性）
linear_model <- lm(
  formula = PerCapitaGDP ~ Total.Population,
  data = combined_df
)

# 查看回归结果（修正打印方式）

cat("回归结果")
print(summary(linear_model))

# 5. 可视化：散点图+回归线（确保中文标题正常显示）
# 先设置绘图中文显示（针对Windows系统）
par(family = "SimHei")  # 加载黑体字体，支持中文显示

plot(
  x = combined_df$Total.Population,
  y = combined_df$PerCapitaGDP,
  main = "人口与人均GDP的关系（1978-2023）",  # 中文标题
  xlab = "总人口",  # 中文X轴标签
  ylab = "人均GDP",  # 中文Y轴标签
  col = "blue",
  pch = 16,
  cex = 1.1
)

# 添加回归线
abline(
  linear_model,
  col = "red",
  lwd = 2
)

# 添加相关系数标签
legend(
  "topleft",
  legend = paste0("相关系数: ", round(correlation, 3)),
  bty = "n"
)
